package com.bestcem.xm.wallet.util.convert;

import com.bestcem.xm.user.util.business.mapstract.StringEmptyStrategy;
import com.bestcem.xm.wallet.controller.vo.request.ApplyInvoiceRequestVO;
import com.bestcem.xm.wallet.controller.vo.response.FinanceRecordsResponseVO;
import com.bestcem.xm.wallet.controller.vo.response.InvoiceRecordsResponseVO;
import com.bestcem.xm.wallet.grpc.client.dto.ApplyInvoiceRequestDTO;
import com.bestcem.xm.wallet.grpc.client.dto.FinanceDTO;
import com.bestcem.xm.wallet.grpc.client.dto.InvoiceDTO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 企业钱包对象转换类
 *
 * @author qiongyu.cui <qiongyu.cui@idiaoyan.com>
 * @version v1.0
 * @date 2022/3/18 17:59
 */
@Mapper(componentModel = "spring")
public interface WalletWalletConvert extends StringEmptyStrategy {

    List<FinanceRecordsResponseVO> financeDtos2Vos(List<FinanceDTO> dtos);

    List<InvoiceRecordsResponseVO> invoiceDtos2Vos(List<InvoiceDTO> dtos);

    InvoiceRecordsResponseVO invoiceDto2Vo(InvoiceDTO dto);

    ApplyInvoiceRequestDTO applyInvoiceVo2Dto(ApplyInvoiceRequestVO applyInvoiceRequestVO);

}
